package com.ysd.lis.controller.lab;


import com.ysd.common.Result;
import com.ysd.lis.controller.pub.BaseController;
import com.ysd.lis.entity.lab.LabTemplateDetail;
import com.ysd.lis.request.MaterialItemDto;
import com.ysd.lis.request.Params;
import com.ysd.lis.request.TemplateDetailDto;
import com.ysd.lis.request.lab.LabImgTempleteDto;
import com.ysd.lis.service.lab.LabTemplateDetailService;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;


/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author HuiXing
 * @since 2024-01-02
 */
@RestController
@RequestMapping("/lab/template/detail")
public class LabTemplateDetailController extends BaseController {

    @Autowired
    LabTemplateDetailService labTemplateDetailService;

    @ApiOperation("获取当前模版下的项目")
    @GetMapping("/getItemByTemplate")
    public Result getItemByTemplate(String id) {
        return labTemplateDetailService.getItemByTemplate(id);
    }

    @ApiOperation("获取当前模版下没有维护的项目")
    @GetMapping("/getItemNotTemplate")
    public Result getItemNotTemplate(String id) {
        return labTemplateDetailService.getItemNotTemplate(id);
    }

    @ApiOperation("新增模版项目")
    @PostMapping("/updateItemTemplate")
    public Result updateItemTemplate(@RequestBody LabTemplateDetail labTemplateDetail) {
        return labTemplateDetailService.updateItemTemplate(labTemplateDetail);
    }

    @ApiOperation("批量删除")
    @PostMapping("/batchDeleteTemplateDetailList")
    public Result batchDeleteMaterialItemList(@RequestBody TemplateDetailDto dto){
        return  labTemplateDetailService.batchDeleteTemplateDetailList(dto);
    }

    @ApiOperation("编辑模版项目信息")
    @PostMapping("/updateTemplateItemInfo")
    public Result updateTemplateItemInfo(@RequestBody LabTemplateDetail labTemplateDetail) {
        return labTemplateDetailService.updateTemplateItemInfo(labTemplateDetail);
    }

    @ApiOperation("批量编辑模版项目信息")
    @PostMapping("/batchUpdateTemplateItemInfo")
    public Result batchUpdateTemplateItemInfo(@RequestBody LabImgTempleteDto labImgTempleteDto) {
        return labTemplateDetailService.batchUpdateTemplateItemInfo(labImgTempleteDto);
    }


}
